﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Security.Cryptography;
using System.Text;
using System.Web;

namespace Paradamas.Clases
{
    public class Tools
    {
        /// <summary>
        /// Encripta las contraseñas a md5.
        /// </summary>
        /// <param name="contraseña"></param>
        /// <returns></returns>
        public static String EncriptarContraseña(string contraseña)
        {
            Byte[] originalBytes;
            Byte[] encodedBytes;
            MD5 md5;

            //Inicializar MD5CryptoServiceProvider
            md5 = new MD5CryptoServiceProvider();
            originalBytes = ASCIIEncoding.Default.GetBytes(contraseña);
            encodedBytes = md5.ComputeHash(originalBytes);

            //Convertir bytes codificados en string que se pueda leer.
            return BitConverter.ToString(encodedBytes);
        }

        /// <summary>
        /// Enviar un correo con la cuenta Paradamas al destinatario, con el título y el mensaje introducidos
        /// </summary>
        /// <param name="email"></param>
        /// <param name="titulo"></param>
        /// <param name="mensaje"></param>
        public static void EnviarCorreo(String email, String titulo, String mensaje) { 
            MailMessage correo = new MailMessage();
            MailAddress direccionOrigen = new MailAddress("paradamasfsweb@gmail.com");

            correo.From = direccionOrigen;
            correo.To.Add(email);
            correo.Subject = titulo; //Ej: "Paradamas&Dandees - Bienvenido/a"
            correo.Body = mensaje;
            correo.IsBodyHtml = false;
            correo.Priority = MailPriority.Normal;

            SmtpClient smtp = new SmtpClient();
            NetworkCredential credenciales = new NetworkCredential("paradamasfsweb@gmail.com", "paradamasfsaz");

            smtp.Credentials = credenciales;
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;

            try
            {
                smtp.Send(correo);
            }
            catch(Exception oe)
            {
                throw oe;
            }
        }
    }
}